Короткий огляд процесу трансляції

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Лекція
Предмет:
Інші

Частина тексту файла

Короткий огляд процесу трансляції. Основою будь-якої природної або штучної мови є алфавіт − набір допустимих у даній мові елементарних знаків. Для природних мов це букви і знаки пунктуації, для мов програмування − латинські букви, цифри, спеціальні символи. Знаки можуть об'єднуватись у слова − елементарні конструкції мови, які розглядаються у тексті (програмі) як неподільні символи, що мають певний зміст. Словом може бути і окремий знак. Наприклад, у мові програмування словами вважаються ідентифікатори, службові слова, константи, а також односимвольні або двосимвольні позначення операцій, дужки, коми та ін. Словарний склад мови разом з описом способів їх зображення утворюють лексику мови. Слова у мові об'єднуються у складніші конструкції − речення. У мовах програмування найпростішим реченням є оператор. Взагалі речення будуються із слів та простіших речень згідно з правилами синтаксису. Синтаксис мови − це опис правильних речень. Опис змісту речень, тобто значень слів та їх внутрішніх зв'язків, утворює семантику мови. Переклад програми з одної мови на іншу, у загальному випадку, полягає у зміні алфавіту, лексики і синтаксису програми із збереженням її семантики. Процес трансляції вхідної програми в об'єктну розбивається на декілька незалежних підпроцесів. Складові частини компілятора Транслятор повинен виконати аналіз вхідної програми, а потім синтез об'єктної програми. Спочатку вхідна програма розкладається на її складові частини, а потім з них будуються ( складаються) частини еквівалентної об'єктної програми. Для цього на етапі аналізу будуються декілька таблиць, які використовуються потім як при аналізі, так і при синтезі. На наступній схемі весь процес показано детальніше. Пунктирні стрілки зображають інформаційні потоки, а суцільні стрілки вказують порядок роботи програм. Опишемо коротко різні частини компілятора (транслятора). Інформаційні таблиці. При аналізі програм з описів, заголовків процедур, заголовків циклів і т.д. вибирається інформація і зберігається для подальшого використання. Ця інформація виявляється в окремих точках програми і організовується так, щоб до неї можна було звернутись з будь-якої частини компілятора. Наприклад, при кожному використанні ідентифікатора необхідно знати, як був описаний цей ідентифікатор і як він використовувався в інших місцях програми. Конкретна інформація, що зберігається, залежить від вхідної мови, об’єктної мови і складності компілятора. Але у кожному компіляторі використовується таблиця символів ( інші назви − таблиця імен або список ідентифікаторів). Це таблиця ідентифікаторів, які зустрічаються у вхідній програмі, разом з їх атрибутами ( тип ідентифікатора, його адреса в об'єктній програмі та інша інформація, яка може бути потрібна для трансляції). Таблиця констант включає саму константу і відповідна адреса в об'єктній програмі. Таблиця заголовків циклів відображає структуру вкладень циклів. У ній зберігається інформація про змінні циклів. При розробці компілятора неможливо визначити вигляд і зміст інформації, яку варто збирати, до того часу, поки не будуть досить ретельно продумані команди об'єктної програми для кожної інструкції вхідної програми і сама об'єктна частина компілятора.  SHAPE \* MERGEFORMAT  КОМПІЛЯТОР СИНТЕЗ Вхідна програма АНАЛІЗ Лексичний аналізатор (сканер) Синтаксичний і семантичний аналізатори Підготовка до генерації команд Генерація команд Об'єктна програма  EMBED Equation.3   EMBED Equation.3   EMBED Equation.3   EMBED Equation.3   EMBED Equation.3   EMBED Equation.3   EMBED Equation.3   EMBED Equation.3   Мал.1 Логічні частини компілятора. Сканер (лексичний аналізатор). Сканер (лексичний аналізатор) − найпростіша частина компілятора. Сканер проглядає літери вхідної програми зліва направо і будує символи (лексеми, слова, атоми) програми − цілі числа, ідентифікатори, службові слова, дволітерні розділювачі. Символи передаються після цього н...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини